

package com.scs.application.modules.base.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.scs.application.core.model.DataEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 资质汇总实体对象
 */
@TableName("certificate_summary")
@Data
@EqualsAndHashCode(callSuper = false)
@ToString(callSuper = true)
@Accessors(chain = true)
public class CertificateSummary extends DataEntity implements Serializable {

    /**
     * 医院ID
     */
    @NotNull(message = "医院ID不能为空")
    private String hospitalId;

    /**
     * 供应商ID
     */
    @NotNull(message = "供应商ID不能为空")
    private String supplierId;

    /**
     * 生产商ID
     */
    private String manufacturerId;

    /**
     * 品类ID
     */
    private String catalogId;

    /**
     * 商品ID
     */
    private String materialId;

    /**
     * 资质类型
     */
    @NotNull(message = "资质类型不能为空")
    private String businessTypeCode;

    /**
     * 目标ID
     */
    @NotNull(message = "目标ID不能为空")
    private String targetDescribeId;


    /**
     * 要求上传数量
     */
    @NotNull(message = "要求上传数量不能为空")
    private Integer requiredCnt;

    /**
     * 已上传数量
     */
    @NotNull(message = "已上传数量不能为空")
    private Integer uploadedCnt;

    /**
     * 医院名称
     */
    @NotBlank(message = "医院名称不能为空")
    @Length(min = 1, max = 50, message = "医院名称长度必须介于 1 和 50 之间")
    private String hospitalName;

    /**
     * 供应商名称
     */
    @NotBlank(message = "供应商名称不能为空")
    @Length(min = 1, max = 100, message = "供应商名称长度必须介于 1 和 100 之间")
    private String supplierName;

    /**
     * 厂商名称
     */
    @Length(max = 100, message = "厂商名称长度必须介于 0 和 100 之间")
    private String manufacturerName;

    /**
     * 品类名称
     */
    @Length(max = 50, message = "品类名称长度必须介于 0 和 50 之间")
    private String catalogName;

    /**
     * 品类代码
     */
    @Length(max = 50, message = "品类代码长度必须介于 0 和 50 之间")
    private String catalogCode;

    /**
     * 品名
     */
    private String materialName;


}
